using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ZoneChange")]
	public class ZoneChange : MonoClass
	{
		public ZoneChangeList m_parentList => method_3<ZoneChangeList>("m_parentList");

		public PowerTask m_powerTask => method_3<PowerTask>("m_powerTask");

		public Entity m_entity => method_3<Entity>("m_entity");

		public Zone m_sourceZone => method_3<Zone>("m_sourceZone");

		public TAG_ZONE m_sourceZoneTag => method_2<TAG_ZONE>("m_sourceZoneTag");

		public Zone m_destinationZone => method_3<Zone>("m_destinationZone");

		public TAG_ZONE m_destinationZoneTag => method_2<TAG_ZONE>("m_destinationZoneTag");

		public ZoneChange(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ZoneChange(IntPtr address)
			: this(address, "ZoneChange")
		{
		}

		public ZoneChangeList GetParentList()
		{
			return method_14<ZoneChangeList>("GetParentList", Array.Empty<object>());
		}

		public void SetParentList(ZoneChangeList parentList)
		{
			method_8("SetParentList", parentList);
		}

		public PowerTask GetPowerTask()
		{
			return method_14<PowerTask>("GetPowerTask", Array.Empty<object>());
		}

		public void SetPowerTask(PowerTask powerTask)
		{
			method_8("SetPowerTask", powerTask);
		}

		public Entity GetEntity()
		{
			return method_14<Entity>("GetEntity", Array.Empty<object>());
		}

		public void SetEntity(Entity entity)
		{
			method_8("SetEntity", entity);
		}

		public Zone GetDestinationZone()
		{
			return method_14<Zone>("GetDestinationZone", Array.Empty<object>());
		}

		public void SetDestinationZone(Zone zone)
		{
			method_8("SetDestinationZone", zone);
		}

		public TAG_ZONE GetDestinationZoneTag()
		{
			return method_11<TAG_ZONE>("GetDestinationZoneTag", Array.Empty<object>());
		}

		public void SetDestinationZoneTag(TAG_ZONE tag)
		{
			method_8("SetDestinationZoneTag", tag);
		}

		public int GetDestinationPosition()
		{
			return method_11<int>("GetDestinationPosition", Array.Empty<object>());
		}

		public void SetDestinationPosition(int pos)
		{
			method_8("SetDestinationPosition", pos);
		}

		public int GetDestinationControllerId()
		{
			return method_11<int>("GetDestinationControllerId", Array.Empty<object>());
		}

		public void SetDestinationControllerId(int controllerId)
		{
			method_8("SetDestinationControllerId", controllerId);
		}

		public Zone GetSourceZone()
		{
			return method_14<Zone>("GetSourceZone", Array.Empty<object>());
		}

		public void SetSourceZone(Zone zone)
		{
			method_8("SetSourceZone", zone);
		}

		public TAG_ZONE GetSourceZoneTag()
		{
			return method_11<TAG_ZONE>("GetSourceZoneTag", Array.Empty<object>());
		}

		public void SetSourceZoneTag(TAG_ZONE tag)
		{
			method_8("SetSourceZoneTag", tag);
		}

		public int GetSourcePosition()
		{
			return method_11<int>("GetSourcePosition", Array.Empty<object>());
		}

		public void SetSourcePosition(int pos)
		{
			method_8("SetSourcePosition", pos);
		}

		public bool HasSourceZone()
		{
			return method_11<bool>("HasSourceZone", Array.Empty<object>());
		}

		public bool HasSourceZoneTag()
		{
			return method_11<bool>("HasSourceZoneTag", Array.Empty<object>());
		}

		public bool HasSourcePosition()
		{
			return method_11<bool>("HasSourcePosition", Array.Empty<object>());
		}

		public bool HasSourceData()
		{
			return method_11<bool>("HasSourceData", Array.Empty<object>());
		}

		public bool HasDestinationZone()
		{
			return method_11<bool>("HasDestinationZone", Array.Empty<object>());
		}

		public bool HasDestinationZoneTag()
		{
			return method_11<bool>("HasDestinationZoneTag", Array.Empty<object>());
		}

		public bool HasDestinationPosition()
		{
			return method_11<bool>("HasDestinationPosition", Array.Empty<object>());
		}

		public bool HasDestinationControllerId()
		{
			return method_11<bool>("HasDestinationControllerId", Array.Empty<object>());
		}

		public bool HasDestinationData()
		{
			return method_11<bool>("HasDestinationData", Array.Empty<object>());
		}

		public bool HasDestinationZoneChange()
		{
			return method_11<bool>("HasDestinationZoneChange", Array.Empty<object>());
		}

		public new string ToString()
		{
			return method_13("ToString");
		}
	}
}
